const { DataTypes } = require('sequelize');
const Seq = require('../sql')

//  用户模型  --- 数据库中的user表一一对应的映射关系
// 员工打卡表
const Systemconfiguration = Seq.define('systemconfiguration', {
  // 在这里定义模型属性
  uid: {
    type: DataTypes.UUID,
    defaultValue: DataTypes.UUIDV4 // 或 DataTypes.UUIDV1
  },
  nickname: {
    type: DataTypes.STRING,  // 类型字母必须要全部大小
    allowNull: false         // 允许为空吗
  },
  keyValue: {  
    type: DataTypes.STRING,  // 类型字母必须要全部大小
    allowNull: false         // 允许为空吗
  },
  description: { 
    type: DataTypes.STRING,  // 类型字母必须要全部大小
    allowNull: false         // 允许为空吗
  },
  creator: { 
    type: DataTypes.STRING,  // 类型字母必须要全部大小
    allowNull: false         // 允许为空吗
  },
  createdTime: { 
    type: DataTypes.STRING,  // 类型字母必须要全部大小
    // allowNull: false         // 允许为空吗
  },
}, {
  // 这是其他模型参数
  //  强制表名称等于模型名称
  freezeTableName: true,
  // 直接提供表名
  // tableName:'user'
});


// 执行 同步
// ({ force: true })
// force值为true时，表示每次执行这个方法都会先将表给删除 ，再重新创建
Systemconfiguration.sync()
  .then(() => {
    console.log('=======Systemconfiguration表同步成功=======');
  })
  .catch(err => {
    console.error('======Systemconfiguration表同步异常=======', err);
  });

module.exports = Systemconfiguration
// `sequelize.define` 会返回模型
// console.log(User === sequelize.models.User); // true
